package com.yida.gwj.api.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.common.core.annotation.Excel;
import com.yida.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;


import java.math.BigDecimal;
import java.util.Date;

/**
 * 总账流水对象 gwj_finance_account_main
 *
 * @author 缴存业务管理模块
 * @date 2023-01-10
 */

public class GwjFinanceAccountMain extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/**
	 * 总流水编号
	 */
	@ApiModelProperty("总流水编号")
	private Long accountMainId;

	/**
	 * 业务biz_id
	 */
	@ApiModelProperty("业务biz_id")
	@Excel(name = "业务biz_id")
	private Long bizId;

	/**
	 * 业务流水编号
	 */
	@ApiModelProperty("业务流水编号")
	@Excel(name = "业务流水编号")
	private Long bizNum;

	/**
	 * 财务流水类型 业务标识ID
	 */
	@ApiModelProperty("财务流水类型 业务标识ID")
	@Excel(name = "财务流水类型 业务标识ID")
	private Integer bizFlagId;

	@ApiModelProperty("财务流水类型")
	private String bizFlagIdStr;

	/**
	 * 银行编号
	 */
	@ApiModelProperty("银行编号")
	@Excel(name = "银行编号")
	private Long bankId;

	/**
	 * 银行名称
	 */
	@ApiModelProperty("银行名称")
	@Excel(name = "银行名称")
	private String bankName;

	/**
	 * 银行帐号
	 */
	@ApiModelProperty("银行帐号")
	@Excel(name = "银行帐号")
	private String bankAccount;

	/**
	 * 银行账户类型（1：原始账户/2：本金户/3：结算户）
	 */
	@ApiModelProperty("银行账户类型")
	@Excel(name = "银行账户类型", readConverterExp = "1=：原始账户/2：本金户/3：结算户")
	private String bankAccountType;

	/**
	 * 收入金额
	 */
	@ApiModelProperty("收入金额")
	@Excel(name = "收入金额")
	private BigDecimal incomeMoney;

	/**
	 * 支出金额
	 */
	@ApiModelProperty("支出金额")
	@Excel(name = "支出金额")
	private BigDecimal payMoney;

	/**
	 * 对账时间
	 */
	@ApiModelProperty("对账时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "对账时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date checkTime;

	/**
	 * 交易发生时间
	 */
	@ApiModelProperty("交易发生时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "交易发生时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date dealTime;

	/**
	 * 交易编号
	 */
	@ApiModelProperty("交易编号")
	@Excel(name = "交易编号")
	private String dealId;

	/**
	 * 账单编号
	 */
	@ApiModelProperty("账单编号")
	@Excel(name = "账单编号")
	private String billId;

	/**
	 * 对账状态(0:未对账，1:对账成功，2,对账失败)
	 */
	@ApiModelProperty("对账状态(0:未对账，1:对账成功，2,对账失败)")
	@Excel(name = "对账状态(0:未对账，1:对账成功，2,对账失败)")
	private String checkStatus;

	/**
	 * 对账状态字符串(0:未对账，1:对账成功，2,对账失败)
	 */
	@ApiModelProperty("对账状态字符串(0:未对账，1:对账成功，2,对账失败)")
	private String checkStatusStr;

	/**
	 * 理财资金
	 */
	@ApiModelProperty("理财资金")
	@Excel(name = "理财资金")
	private Long incrementMoney;

	/**
	 * 对账方式
	 */
	@ApiModelProperty("对账方式")
	@Excel(name = "对账方式")
	private String checkType;

	/**
	 * 对账方式字符串
	 */
	@ApiModelProperty("对账方式字符串")
	private String checkTypeStr;

	/**
	 * 开户银行
	 */
	@ApiModelProperty("开户银行")
	@Excel(name = "开户银行")
	private String accountBank;

	/**
	 * 开发企业
	 */
	@ApiModelProperty("开发企业")
	@Excel(name = "开发企业")
	private String companyName;

	/**
	 * 项目名称
	 */
	@ApiModelProperty("项目名称")
	@Excel(name = "项目名称")
	private String projectName;

	/**
	 * 总面积
	 */
	@ApiModelProperty("总面积")
	@Excel(name = "总面积")
	private BigDecimal totalSize;

	/**
	 * 计息日期
	 */
	@ApiModelProperty("计息日期")
	@Excel(name = "计息日期")
	private Long interestTime;

	/**
	 * 总利息
	 */
	@ApiModelProperty("总利息")
	@Excel(name = "总利息")
	private BigDecimal totalInterest;

	/**
	 * $column.columnComment
	 */
	@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
	private BigDecimal oneInterest;

	/**
	 * 所属区县
	 */
	@ApiModelProperty("所属区县")
	@Excel(name = "所属区县")
	private Long areaId;

	public Long getAccountMainId() {
		return accountMainId;
	}

	public void setAccountMainId(Long accountMainId) {
		this.accountMainId = accountMainId;
	}

	public Long getBizId() {
		return bizId;
	}

	public void setBizId(Long bizId) {
		this.bizId = bizId;
	}

	public Long getBizNum() {
		return bizNum;
	}

	public void setBizNum(Long bizNum) {
		this.bizNum = bizNum;
	}

	public Integer getBizFlagId() {
		return bizFlagId;
	}

	public void setBizFlagId(Integer bizFlagId) {
		this.bizFlagId = bizFlagId;
	}

	public Long getBankId() {
		return bankId;
	}

	public void setBankId(Long bankId) {
		this.bankId = bankId;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getBankAccount() {
		return bankAccount;
	}

	public void setBankAccount(String bankAccount) {
		this.bankAccount = bankAccount;
	}

	public String getBankAccountType() {
		return bankAccountType;
	}

	public void setBankAccountType(String bankAccountType) {
		this.bankAccountType = bankAccountType;
	}

	public BigDecimal getIncomeMoney() {
		return incomeMoney;
	}

	public void setIncomeMoney(BigDecimal incomeMoney) {
		this.incomeMoney = incomeMoney;
	}

	public BigDecimal getPayMoney() {
		return payMoney;
	}

	public void setPayMoney(BigDecimal payMoney) {
		this.payMoney = payMoney;
	}

	public Date getCheckTime() {
		return checkTime;
	}

	public void setCheckTime(Date checkTime) {
		this.checkTime = checkTime;
	}

	public Date getDealTime() {
		return dealTime;
	}

	public void setDealTime(Date dealTime) {
		this.dealTime = dealTime;
	}

	public String getDealId() {
		return dealId;
	}

	public void setDealId(String dealId) {
		this.dealId = dealId;
	}

	public String getBillId() {
		return billId;
	}

	public void setBillId(String billId) {
		this.billId = billId;
	}

	public String getCheckStatus() {
		return checkStatus;
	}

	public void setCheckStatus(String checkStatus) {
		this.checkStatus = checkStatus;
	}

	public Long getIncrementMoney() {
		return incrementMoney;
	}

	public void setIncrementMoney(Long incrementMoney) {
		this.incrementMoney = incrementMoney;
	}

	public String getCheckType() {
		return checkType;
	}

	public void setCheckType(String checkType) {
		this.checkType = checkType;
	}

	public String getAccountBank() {
		return accountBank;
	}

	public void setAccountBank(String accountBank) {
		this.accountBank = accountBank;
	}

	public String getCompanyName() {
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public BigDecimal getTotalSize() {
		return totalSize;
	}

	public void setTotalSize(BigDecimal totalSize) {
		this.totalSize = totalSize;
	}

	public Long getInterestTime() {
		return interestTime;
	}

	public void setInterestTime(Long interestTime) {
		this.interestTime = interestTime;
	}

	public BigDecimal getTotalInterest() {
		return totalInterest;
	}

	public void setTotalInterest(BigDecimal totalInterest) {
		this.totalInterest = totalInterest;
	}

	public BigDecimal getOneInterest() {
		return oneInterest;
	}

	public void setOneInterest(BigDecimal oneInterest) {
		this.oneInterest = oneInterest;
	}

	public Long getAreaId() {
		return areaId;
	}

	public void setAreaId(Long areaId) {
		this.areaId = areaId;
	}

	public String getBizFlagIdStr() {
		return bizFlagIdStr;
	}

	public void setBizFlagIdStr(String bizFlagIdStr) {
		this.bizFlagIdStr = bizFlagIdStr;
	}

	public String getCheckStatusStr() {
		return checkStatusStr;
	}

	public void setCheckStatusStr(String checkStatusStr) {
		this.checkStatusStr = checkStatusStr;
	}

	public String getCheckTypeStr() {
		return checkTypeStr;
	}

	public void setCheckTypeStr(String checkTypeStr) {
		this.checkTypeStr = checkTypeStr;
	}

	@Override
	public String toString() {
		final StringBuffer sb = new StringBuffer("GwjFinanceAccountMain{");
		sb.append("accountMainId=").append(accountMainId);
		sb.append(", bizId=").append(bizId);
		sb.append(", bizNum=").append(bizNum);
		sb.append(", bizFlagId=").append(bizFlagId);
		sb.append(", bizFlagIdStr='").append(bizFlagIdStr).append('\'');
		sb.append(", bankId=").append(bankId);
		sb.append(", bankName='").append(bankName).append('\'');
		sb.append(", bankAccount='").append(bankAccount).append('\'');
		sb.append(", bankAccountType='").append(bankAccountType).append('\'');
		sb.append(", incomeMoney=").append(incomeMoney);
		sb.append(", payMoney=").append(payMoney);
		sb.append(", checkTime=").append(checkTime);
		sb.append(", dealTime=").append(dealTime);
		sb.append(", dealId='").append(dealId).append('\'');
		sb.append(", billId='").append(billId).append('\'');
		sb.append(", checkStatus='").append(checkStatus).append('\'');
		sb.append(", checkStatusStr='").append(checkStatusStr).append('\'');
		sb.append(", incrementMoney=").append(incrementMoney);
		sb.append(", checkType='").append(checkType).append('\'');
		sb.append(", checkTypeStr='").append(checkTypeStr).append('\'');
		sb.append(", accountBank='").append(accountBank).append('\'');
		sb.append(", companyName='").append(companyName).append('\'');
		sb.append(", projectName='").append(projectName).append('\'');
		sb.append(", totalSize=").append(totalSize);
		sb.append(", interestTime=").append(interestTime);
		sb.append(", totalInterest=").append(totalInterest);
		sb.append(", oneInterest=").append(oneInterest);
		sb.append(", areaId=").append(areaId);
		sb.append('}');
		return sb.toString();
	}
}
